/**
 * @author liangxi
 * @since 2024/4/11
 */

#ifndef DESIGNPATTERN_WINNERSTATE_H
#define DESIGNPATTERN_WINNERSTATE_H


#include "../State.h"

class GumballMachine;

class WinnerState : public State {

public:
    WinnerState() = default;

    GumballMachine *getMGumballMachine() const;

    void setMGumballMachine(GumballMachine *gumballMachine);

    void insertQuarter() override;

    void ejectQuarter() override;

    void turnCrank() override;

    void dispense() override;

private:
    GumballMachine *mGumballMachine{nullptr};
};


#endif //DESIGNPATTERN_WINNERSTATE_H
